package com.wdb007.venus.svc.facade;

import java.util.Set;

import com.wdb007.venus.svc.facade.exception.BizException;
import com.wdb007.venus.svc.facade.order.model.OrderInfoDTO;
import com.wdb007.venus.svc.facade.order.model.OrderTransDTO;

public interface OrderService {

	void setupOrder(OrderInfoDTO orderInfo) throws BizException;
	
	void setupOrderTrans(OrderTransDTO orderTrans) throws BizException;
	/**
	 * 
	 * @param orderTrans
	 * @param flag 0--表示正常盘点   1--表示再次盘点，处理逻辑不一样
	 */
	void finishOrderTrans(OrderTransDTO orderTrans, Integer flag, Long returnUserId) throws BizException;
	
	void finishOrder(OrderInfoDTO orderInfo) throws BizException;

	void finishOrders(Set<Long> orderIdSet) throws BizException;
	/**
	 * 单人单书格打开超过10分钟，扣费1元
	 * @param userid
	 * @param gridCode
	 */
	void gridCharge(Long userid, String gridCode, Long gridTransId) throws BizException;
	
	void bookCharge() throws BizException;
	
	void readStatistics() throws BizException;
	
	void updateByBuyBook(Long orderTransId) throws BizException;
	
	void discardOrderTrans(Long orderTransId) throws BizException;
}
